package de.htw.ejb.model;

import de.htw.ejb.model.Artikel;
import de.htw.ejb.model.BestellpositionSchluessel;
import de.htw.ejb.model.Bestellung;

import java.io.Serializable;

import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;

/**
 * Diese Klasse implementiert die datentechnische Darstellung einer
 * Bestellposition.
 * 
 * @author Thomas Schoenfeld
 * @version 20130313-01
 */
// ggf. Entwurfsmuster Kompositum
@Entity
public class Bestellposition implements Serializable
{
	private static final long					serialVersionUID	= 1L;
	// Key muss sich aus Bestellnummer und Position ergeben.
	@EmbeddedId
	private BestellpositionSchluessel	id;
	private int												anzahl;
	@ManyToOne( optional = false )
	private Artikel										artikel;
	@ManyToOne( optional = false )
	private Bestellung								kopf;
	
	public int getAnzahl()
	{
		return anzahl;
	}
	
	public void setAnzahl( int anzahl )
	{
		this.anzahl = anzahl;
	}
	
	public Artikel getArtikel()
	{
		return artikel;
	}
	
	public void setArtikel( Artikel artikel )
	{
		this.artikel = artikel;
	}
	
	public Bestellung getKopf()
	{
		return kopf;
	}
	
	public void setKopf( Bestellung kopf )
	{
		this.kopf = kopf;
	}
	
	@Override
	public String toString()
	{
		return "Bestellposition [id=" + id + ", anzahl=" + anzahl + ", artikel="
				+ artikel + ", kopf=" + kopf + "]";
	}
}
